小当家ISV
互联网高新技术服务商

全球共有10多个国家和地区1000多个平台,20万+商户使用

SqlSugar分页查询

作者:    陈发林       发布时间:     2024-03-16          239      分类专栏: 后端开发

一.表结构及数据:

1.学生表及数据

create table Student

(

StudentId int primary key identity(1,1),

StudentName varchar(225) not null,

SchoolId int not null

);

insert into Student(StudentName,SchoolId) values ('Zzr', 1);

insert into Student(StudentName,SchoolId) values ('Ls', 2);

insert into Student(StudentName,SchoolId) values ('Wem', 3);

insert into Student(StudentName,SchoolId) values ('Hpf', 4);

insert into Student(StudentName,SchoolId) values ('Zzr', 5);

insert into Student(StudentName,SchoolId) values ('hpf', 2);

insert into Student(StudentName,SchoolId) values ('hpf', 2);

insert into Student(StudentName,SchoolId) values ('qwe', 0);

insert into Student(StudentName,SchoolId) values ('qwe', 0);

2.学校表及数据

create table School

(

SchoolId int primary key identity(1,1),

SchoolName varchar(225) not null,

);

insert into School(SchoolName) values ('一中');

insert into School(SchoolName) values ('二中');

insert into School(SchoolName) values ('三中');

insert into School(SchoolName) values ('四中');

insert into School(SchoolName) values ('五中');

二.单表分页查询:

int pageNumber = 1;//第几页(可随意修改查看结果)

int pageSize = 2;//每页多少数据

int totalNumber = 0;//总数据

List<Student> list = db.Queryable<Student>().ToPageList(pageNumber, pageSize, ref totalNumber);

三.异步单表分页查询:

int pageNumber = 1;//第几页

int pageSize = 2;//每页多少数据

RefAsync<int> totalNumber = 0;//总数据

List<Student> list = await db.Queryable<Student>().ToPageListAsync(pageNumber, pageSize, totalNumber);

四.多表分页查询:

int pageNumber = 1;//第几页

int pageSize = 2;//每页多少数据

int totalNumber = 0;//总数据

var cs = db.Queryable<Student, School>((st, sc) => new JoinQueryInfos(JoinType.Left, st.SchoolId == sc.SchoolId))

                .Select((st, sc) => new { Id = st.SchoolId, StudentName = st.Name, SchoolName = sc.SchoolName })

                .ToPageList(pageNumber, pageSize,ref totalNumber);

五.异步多表分页查询:

int pageNumber = 1;//第几页

int pageSize = 2;//每页多少数据

RefAsync<int> totalNumber = 0;//总数据

var cs =await db.Queryable<Student, School>((st, sc) => new JoinQueryInfos(JoinType.Left, st.SchoolId == sc.SchoolId))

                .Select((st, sc) => new { Id = st.SchoolId, StudentName = st.Name, SchoolName = sc.SchoolName })

                .ToPageListAsync(pageNumber, pageSize, totalNumber);


所属分类: 后端开发
c#中依赖注入的实现
C#多线程的基础概念和方法

小当家,帮您把生意越做越大!

小当家ISV,重庆APP开发,小程序开发,软件系统开发 地址:重庆市南岸区南坪万达广场写字楼2栋19-6 联系电话:023-81361879

ICP备案号:渝ICP备15003473-1 增值电信业务许可证: 渝B2-15003473 渝公网安备 50010802005103号

友情链接: 小当家点餐收银系统   MagicShop商城  重庆微信营销  重庆智能家居  重庆红岭医院 

重庆小当家互联网信息技术有限公司